import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { SharedModule } from '@shared/shared.module';
import { NzTreeModule } from 'ng-tree-antd';

import { AdminRoutingModule } from './admin-routing.module';

import { RoleComponent } from './roles/role.component';
import { PermissionTreeComponent } from './roles/permission-tree.component';
import { CreateOrEditRoleModalComponent } from './roles/create-or-edit-role-modal.component';
import { UsersComponent } from './users/users.component';
import { CreateOrEditUserModalComponent } from './users/create-or-edit-user-modal.component';
import { ImpersonationService } from './users/impersonation.service';


@NgModule({
    imports: [ SharedModule, AdminRoutingModule, NzTreeModule],
    providers: [ ImpersonationService ],
    declarations: [
        RoleComponent,
        PermissionTreeComponent,
        CreateOrEditRoleModalComponent,
        UsersComponent,
        CreateOrEditUserModalComponent
    ],
    entryComponents: [
        CreateOrEditRoleModalComponent,
        CreateOrEditUserModalComponent
    ]
})
export class AdminModule { }
